#ifndef __TYPE_H__
#define __TYPE_H__

/* exact-width signed integer types */
typedef   signed          char int8_t;
typedef   signed short     int int16_t;
typedef   signed           int int32_t;
typedef   signed       __int64 int64_t;

    /* exact-width unsigned integer types */
typedef unsigned          char uint8_t;
typedef unsigned short     int uint16_t;
typedef unsigned           int uint32_t;
typedef unsigned       __int64 uint64_t;

typedef char tk_int8;
typedef unsigned char tk_uint8;
typedef short tk_int16;
typedef unsigned short tk_uint16;
typedef long tk_int32;
typedef unsigned long tk_uint32; 
typedef long long tk_int64;
typedef unsigned long long tk_uint64; 

typedef volatile char tk_vint8;
typedef volatile unsigned char tk_vuint8;
typedef volatile short tk_vint16;
typedef volatile unsigned short tk_vuint16;
typedef volatile long tk_vint32;
typedef volatile unsigned long tk_vuint32;
typedef volatile long long tk_vint64;
typedef volatile unsigned long long tk_vuint64; 


typedef unsigned char  BYTE;
typedef unsigned short WORD;
typedef unsigned long  DWORD;

typedef union _DWORD_UNION_
{
	DWORD Val;
	BYTE uVal[4];
}DWORD_UNION;

typedef union _WORD_UNION_
{
	WORD Val;
	BYTE uVal[2];
}WORD_UNION;

#endif  /* __TYPE_H__ */
